package com.haowu.customer.service;

import com.haowu.customer.domain.bo.HwAppAccountBo;
import com.haowu.customer.domain.vo.HwAppAccountVo;
import com.haowu.customer.api.domain.HwAppAccount;
import com.haowu.common.mybatis.core.page.PageQuery;
import com.haowu.common.mybatis.core.page.TableDataInfo;

import java.util.Collection;
import java.util.List;

/**
 * 手机会员账户Service接口
 *
 * @author lky
 * @date 2023-02-13
 */
public interface IHwAppAccountService {

    /**
     * 查询手机会员账户
     */
    HwAppAccountVo queryById(Long id);

    /**
     * 查询手机会员账户列表
     */
    TableDataInfo<HwAppAccountVo> queryPageList(HwAppAccountBo bo, PageQuery pageQuery);

    /**
     * 查询手机会员账户列表
     */
    List<HwAppAccountVo> queryList(HwAppAccountBo bo);

    /**
     * 修改手机会员账户
     */
    Boolean insertByBo(HwAppAccountBo bo);

    /**
     * 修改手机会员账户
     */
    Boolean updateByBo(HwAppAccountBo bo);

    /**
     * 校验并批量删除手机会员账户信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    /**
     * 校验账号名是否重复
     * @param appAccount 账号
     * @return 结果
     */
    String checkAccountUnique(HwAppAccount appAccount);

    /**
     * 注册会员
     */
    Boolean registerUser(HwAppAccount appAccount);
}
